package com.jindy.module.repairrecord.domain;

import java.math.BigDecimal;
import java.util.List;

import com.jindy.module.assistmaterials.domain.AssistMaterials;
import com.jindy.module.machine.domain.Machine;
import com.jindy.module.repairMachine.domain.RepairMachine;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jindy.common.annotation.Excel;
import com.jindy.common.core.domain.BaseEntity;

/**
 * 机器维修记录辅材表对象 t_repair_record
 *
 * @author ruoyi
 * @date 2023-02-16
 */
@Data
public class RepairRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 维修编号 */
    @Excel(name = "维修编号")
    private String repairNo;

    /** 机器id */
    @Excel(name = "机器id")
    private String machineId;

    /** 机器编号 */
    @Excel(name = "机器编号")
    private String machineNo;

    /** 租赁销售订单id */
    @Excel(name = "租赁销售订单id")
    private Long orderId;

    /** 租赁销售订单编号 */
    @Excel(name = "租赁销售订单编号")
    private String orderNo;

    /** 维修类型（ 0维修  1退回） */
    @Excel(name = "维修类型", readConverterExp = "0=维修,1=退回")
    private String repairType;

    /** 维修描述 */
    @Excel(name = "维修描述")
    private String repairDescription;

    /** 维修金额 */
    @Excel(name = "维修金额")
    private BigDecimal repairAmount;

    /** 状态，预留字段 */
    @Excel(name = "状态，预留字段")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 维修品类(0大 1中 2小) */
    @Excel(name = "维修品类(0大 1中 2小)")
    private String repairStrain;

    /** 维修类别(0项目维修 1仓库维修) */
    @Excel(name = "维修类别(0项目维修 1仓库维修)")
    private String repairCategory;

    /** 维修内容 */
    @Excel(name = "维修内容")
    private String repairContent;

    /** 配件费 */
    @Excel(name = "配件费")
    private BigDecimal partsCost;

    /** 人工费 */
    @Excel(name = "人工费")
    private BigDecimal laborCost;

    /** 申请人id */
    @Excel(name = "申请人id")
    private Long applicantId;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applicantName;

    /** 业务员id */
    @Excel(name = "业务员id")
    private Long salesmanId;

    /** 业务员姓名 */
    @Excel(name = "业务员姓名")
    private String salesmanName;

    /** 电话 */
    @Excel(name = "电话")
    private String telephone;

    /** 维修人员 */
    @Excel(name = "维修人员")
    private String maintenancePersonnel;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String auditState;

    /** 辅材表信息 */
    private List<AssistMaterials> assistMaterialsList;

    /** 机器信息列表 */
    private List<Machine> machineList;

    /** 报修机器列表 */
    private List<RepairMachine> repairMachineList;

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("repairNo", repairNo)
                .append("machineId", machineId)
                .append("machineNo", machineNo)
                .append("orderId", orderId)
                .append("orderNo", orderNo)
                .append("repairType", repairType)
                .append("repairDescription", repairDescription)
                .append("repairAmount", repairAmount)
                .append("status", status)
                .append("delFlag", delFlag)
                .append("repairStrain", repairStrain)
                .append("repairCategory", repairCategory)
                .append("repairContent", repairContent)
                .append("partsCost", partsCost)
                .append("laborCost", laborCost)
                .append("applicantId", applicantId)
                .append("applicantName", applicantName)
                .append("salesmanId", salesmanId)
                .append("salesmanName", salesmanName)
                .append("telephone", telephone)
                .append("maintenancePersonnel", maintenancePersonnel)
                .append("auditState", auditState)
                .append("assistMaterialsList", assistMaterialsList)
                .append("machineList", machineList)
                .append("repairMachineList", repairMachineList)
                .toString();
    }


}